/* global.css - 全局样式 */

/* 重置样式 */
view, text, navigator, input, textarea, button, image {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* 页面通用样式 */
page {
    font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Helvetica, 
                'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;
    font-size: 28rpx;
    line-height: 1.5;
    color: #333;
    background-color: #f5f5f5;
    min-height: 100%;
}

/* 通用文本颜色 */
.text-primary {
    color: #3089ff;
}

.text-success {
    color: #19be6b;
}

.text-warning {
    color: #ff9500;
}

.text-danger {
    color: #ff3b30;
}

.text-gray {
    color: #999;
}

/* 通用文本大小 */
.font-small {
    font-size: 24rpx;
}

.font-normal {
    font-size: 28rpx;
}

.font-medium {
    font-size: 32rpx;
}

.font-large {
    font-size: 36rpx;
}

.font-xlarge {
    font-size: 40rpx;
}

/* 通用边距 */
.mt-10 {
    margin-top: 10rpx;
}

.mr-10 {
    margin-right: 10rpx;
}

.mb-10 {
    margin-bottom: 10rpx;
}

.ml-10 {
    margin-left: 10rpx;
}

.mt-20 {
    margin-top: 20rpx;
}

.mr-20 {
    margin-right: 20rpx;
}

.mb-20 {
    margin-bottom: 20rpx;
}

.ml-20 {
    margin-left: 20rpx;
}

.mt-30 {
    margin-top: 30rpx;
}

.mr-30 {
    margin-right: 30rpx;
}

.mb-30 {
    margin-bottom: 30rpx;
}

.ml-30 {
    margin-left: 30rpx;
}

/* 通用内边距 */
.pt-10 {
    padding-top: 10rpx;
}

.pr-10 {
    padding-right: 10rpx;
}

.pb-10 {
    padding-bottom: 10rpx;
}

.pl-10 {
    padding-left: 10rpx;
}

.pt-20 {
    padding-top: 20rpx;
}

.pr-20 {
    padding-right: 20rpx;
}

.pb-20 {
    padding-bottom: 20rpx;
}

.pl-20 {
    padding-left: 20rpx;
}

.pt-30 {
    padding-top: 30rpx;
}

.pr-30 {
    padding-right: 30rpx;
}

.pb-30 {
    padding-bottom: 30rpx;
}

.pl-30 {
    padding-left: 30rpx;
}

/* 通用flex布局 */
.flex {
    display: flex;
}

.flex-row {
    flex-direction: row;
}

.flex-column {
    flex-direction: column;
}

.justify-start {
    justify-content: flex-start;
}

.justify-center {
    justify-content: center;
}

.justify-end {
    justify-content: flex-end;
}

.justify-between {
    justify-content: space-between;
}

.justify-around {
    justify-content: space-around;
}

.align-start {
    align-items: flex-start;
}

.align-center {
    align-items: center;
}

.align-end {
    align-items: flex-end;
}

/* 通用按钮样式 */
.btn {
    height: 80rpx;
    line-height: 80rpx;
    padding: 0 30rpx;
    border-radius: 40rpx;
    text-align: center;
    font-size: 30rpx;
}

.btn-primary {
    background-color: #3089ff;
    color: #fff;
}

.btn-default {
    background-color: #f5f5f5;
    color: #666;
}

.btn-success {
    background-color: #19be6b;
    color: #fff;
}

.btn-warning {
    background-color: #ff9500;
    color: #fff;
}

.btn-danger {
    background-color: #ff3b30;
    color: #fff;
}

/* 通用卡片样式 */
.card {
    background-color: #fff;
    border-radius: 20rpx;
    padding: 30rpx;
    margin-bottom: 30rpx;
    box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05);
}

/* 通用分割线 */
.divider {
    height: 1rpx;
    background-color: #eee;
    margin: 20rpx 0;
}

/* 通用标签样式 */
.tag {
    display: inline-block;
    padding: 6rpx 16rpx;
    border-radius: 6rpx;
    font-size: 24rpx;
    margin-right: 10rpx;
}

.tag-primary {
    background-color: #e6f1ff;
    color: #3089ff;
}

.tag-success {
    background-color: #e6f8f1;
    color: #19be6b;
}

.tag-warning {
    background-color: #fff8e6;
    color: #ff9500;
}

.tag-danger {
    background-color: #ffe6e6;
    color: #ff3b30;
}

/* 通用表单样式 */
.form-item {
    margin-bottom: 30rpx;
}

.form-label {
    font-size: 28rpx;
    color: #333;
    margin-bottom: 10rpx;
}

.form-input {
    height: 90rpx;
    border-bottom: 1rpx solid #eee;
    font-size: 28rpx;
}

.form-textarea {
    min-height: 200rpx;
    border: 1rpx solid #eee;
    border-radius: 10rpx;
    padding: 20rpx;
    font-size: 28rpx;
}

/* 通用徽标样式 */
.badge {
    display: inline-block;
    min-width: 36rpx;
    height: 36rpx;
    line-height: 36rpx;
    padding: 0 10rpx;
    border-radius: 18rpx;
    background-color: #ff3b30;
    color: #fff;
    font-size: 22rpx;
    text-align: center;
}

/* 通用空状态 */
.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 100rpx 0;
}

.empty-state image {
    width: 200rpx;
    height: 200rpx;
    margin-bottom: 30rpx;
}

.empty-state text {
    font-size: 28rpx;
    color: #999;
}

/* 通用加载更多 */
.loading-more {
    text-align: center;
    padding: 30rpx 0;
    font-size: 24rpx;
    color: #999;
}

.loading-more .iconfont {
    margin-right: 10rpx;
}

/* 通用浮动按钮 */
.float-btn {
    position: fixed;
    right: 30rpx;
    bottom: 100rpx;
    width: 100rpx;
    height: 100rpx;
    border-radius: 50%;
    background-color: #3089ff;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4rpx 10rpx rgba(48, 137, 255, 0.3);
    z-index: 99;
}

.float-btn .iconfont {
    font-size: 50rpx;
}